package com.uraurora.crescent.ai.ktbt.annotation

import java.lang.annotation.Inherited

/**
 * @author gaoxiaodong
 */
@kotlin.annotation.Retention(AnnotationRetention.RUNTIME)
@Target(AnnotationTarget.ANNOTATION_CLASS, AnnotationTarget.CLASS)
@Inherited
@MustBeDocumented
annotation class NodeConstraint(
        /**
         * 返回装饰的该节点的子节点数目最小值约束，默认值为0
         * @return 子节点最小值约束
         */
        val minChildren: Int = 0,
        /**
         * 返回装饰的该节点的子节点数目最大值约束，默认值为 `Integer.MAX_VALUE`
         * @return 子节点最大值约束
         */
        val maxChildren: Int = Int.MAX_VALUE)